home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: delta / whiteline CD Series - delta.iso / progtool / modula2 / module / cookieja.def < prev    next >
Text File  |  1995-11-25  |  3KB  |  69 lines

  1. DEFINITION MODULE CookieJar;
  2. (* c-> M2 -> ST 12/90, ST 1/91 *)
  3. (******************************************************************************)
  4. (*      This MODULE is Public Domain. Copy me like a beast!                   *)
  5. (*               Christian Ledermann                                          *)
  6. (*               Wölfelkofen 2                                                *)
  7. (*               84166 Adlkofen                                               *)
  8. (******************************************************************************)
  9. (*                                                                            *)
  10. (* Started:   20.12.92     03:54:30                                           *)
  11. (* Version: 20.12.89   03:244:12:54                                           *)
  12. (*                                                                            *)
  13. (******************************************************************************)
  14. (*                                                                            *)
  15. (* Diese Software ist ohne jede Garantie. Ich verspreche                      *)
  16. (* keinerlei Wartung und übernehme keine Verantwortung für Schäden die        *)
  17. (* durch die Benutzung dieses Programmes entstehen.                           *)
  18. (* Jegliche Ersatzansprüche lehne ich ab.                                     *)
  19. (*                                                                            *)
  20. (******************************************************************************)
  21.  
  22. FROM SYSTEM IMPORT ADDRESS;
  23.  
  24. TYPE Cookie = RECORD
  25.                   CookieId : ARRAY [0..3] OF CHAR;
  26.                   CookieValue : LONGCARD;
  27.               END(*RECORD*);
  28.  
  29. PROCEDURE CreateCookie(VAR cookie:Cookie; id : ARRAY OF CHAR;
  30.                        value: LONGCARD );
  31. (* Initialisiert in der Variablen cookie einen Cookie;
  32.    als weitere Parameter werden die Id des Coockies sowie
  33.    dessen Wert übergeben *)
  34.  
  35. PROCEDURE NewCookie(VAR Entry:Cookie):BOOLEAN;
  36. (* Trägt einen Neuen Cookie in den Jar ein.
  37.    Achtung !
  38.    Der Fall eines bereits vollen Jars wird hier nicht
  39.    abgefangen. Es muss dann entsprechend Speicher ALLOCATEed
  40.    und der ganze Jar umkopiert werden *)
  41.  
  42. PROCEDURE GetCookie(VAR cookie:Cookie):BOOLEAN;
  43. (* fragt den Wert eines Cookies ab.
  44.    Als Parameter wird dabei die ID des zu suchenden Cookies
  45.    übergeben.
  46.    die Routine liefert FALSE wenn der Cookie nicht
  47.    gefunden wurde; wenn er gefunden wurde
  48.    wird TRUE zurückgegeben und der Wert des Cookies
  49.    in cookie.CookieValue eingetragen *)
  50.  
  51. PROCEDURE CookieSize():LONGCARD;
  52. (* liefert die Grösse des installierten Jars, d.h. die Anzahl der
  53.    maximal möglichen Einträge *)
  54. PROCEDURE RemoveCookie(VAR id : ARRAY OF CHAR);
  55. (* entfernt den mit id bezeichneten Cookie aus dem CookieJar*)
  56.  
  57. PROCEDURE MoveCookieJar(Destination : ADDRESS; size :LONGCARD);
  58. (* verschiebt Kompletten CookieJar an eine neue Speicherstelle.
  59.    Als Parameter werden die neue ADDRESSe des Jars sowie seine Grösse
  60.    d.h. die Anzahl der in ihn hineinpassenden Cookies übergeben *)
  61.  
  62. PROCEDURE PrintCookieJar;
  63. (* gibt den Inhalt des Cookie Jars mit WriteString, und WriteLongCard
  64.    aus *)
  65. (* Zum Arbeiten kann dieser Teil auskommentiert werden falls man
  66.    im eigenen Programm InOut , LongInOut nicht braucht *)
  67.  
  68. END CookieJar.
  69.